package com.sunday.boot3.user.center.service;

import com.sunday.boot3.user.center.pojo.dto.user.*;
import com.sunday.common.core.remoting.base.page.PageResultDTO;

/**
 * @Description: 用户表 服务类
 * @author: zsy
 * @Create: 2024/09/22 16:24:38
 */
public interface UserService {

    /**
     * 获取登陆用户信息
     *
     * @param
     * @return {@link GetLoginUserResDTO}
     */
    GetLoginUserResDTO getLoginUser();


    /**
     * 获取授权用户信息
     *
     * @param getAuthUserReqDTO
     * @return {@link GetAuthUserResDTO}
     */
    GetAuthUserResDTO getAuthUser(GetAuthUserReqDTO getAuthUserReqDTO);

    /**
     * @Description: 新增 用户表 数据
     * @Param: [saveUserReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void save(SaveUserReqDTO saveUserReqDTO);

    /**
     * @Description: 删除 用户表 数据
     * @Param: [removeUserReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void remove(RemoveUserReqDTO removeUserReqDTO);

    /**
     * @Description: 修改 用户表 数据
     * @Param: [updateUserReqDTO]
     * @Return: void
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    void update(UpdateUserReqDTO updateUserReqDTO);

    /**
     * @Description: 获取 用户表 分页列表数据
     * @Param: [pageUserReqDTO]
     * @Return: com.sunday.common.core.remoting.base.page.PageResultDTO<com.sunday.boot3.user.center.pojo.dto.user.PageUserResDTO>
     * @Author: zsy
     * @Time: 2024/09/22 16:24:38
     */
    PageResultDTO<PageUserResDTO> page(PageUserReqDTO pageUserReqDTO);

}
